Multichannel ring and star networks with limited channel conversion

ABSTRACT

A ring communication network according to an embodiment of the present invention includes a plurality of nodes in which a single one of the nodes is configured for full channel conversion and the remaining nodes, other than the single node, are configured for no channel conversion. Links with no more than W channels couple the nodes. The ring communication network may include N nodes and links connecting the nodes for carrying data in W channels such that N≧2 log 2  W−1, where W is a power of 2. Each of the N nodes includes switches connected such that each channel of a first one of the links adjacent to any one of the N nodes can be switched to no more than W−1 channels of another one of the links adjacent to any one node.

RELATED APPLICATIONS

This patent application is a continuation of non-provisional U.S.application Ser. No. 09/362,635, filed on Jul. 21, 1999, now U.S. Pat.No. 6,970,433 which is a division of U.S. application Ser. No.08/641,061, filed on Apr. 29, 1996, now U.S. Pat. No. 6,108,311.

GOVERNMENT LICENSE RIGHTS

The U.S. Government has a paid-up license in this invention and theright in limited circumstances to require the patent owner to licenseothers on reasonable terms as provided for by the terms of ContractMDA972-95-C-0001 awarded by the Advanced Research Projects Agency(ARPA). The U.S. Government has certain rights in this invention.

PRIOR ART

A multichannel link comprises a number of channels, say W, between twosites. These channels may be transmitted separately (for example overparallel wires or fiber cables) or multiplexed on to one of a smallnumber of wires or fibers using time or channel division multiplexing.Usually these links are realized in the form of line cards, one for eachchannel at each end of the link. A line card is a device that providesan interface between the I/O for the channel and the transmissionmedium. The set of line cards associated with each end of a link alongwith any associated multiplexing/demultiplexing unit is called amultiplexor.

One example is the IBM optical multiplexer system [1]. This systemmultiplexes up to ten full-duplex channels on to a single transmissionlink.

Multiplexors can be connected in a ring or star network configurationacross multiple sites (herein called nodes). Nodes may be configured toallow pairs of channels to be connected to one another. This may beaccomplished by some kind of switching at the node. For example,consider a network realized by line cards. In addition, consider twochannels from different links, but where the links are incident to acommon node. Each of these channels has a line card at the node. Supposethe line cards are connected. Then the channels may be connected to eachother since the signal from one channel may be transferred to the otherchannel by going through the line cards and the connection between theline cards. If a pair of channels may be connected to one another, asfor example, through a switching network, then we refer to them as beingattached.

A node is said to be configured if pairs of its incident channels areattached. The network is said to be configured if each of its nodes isconfigured. For a network configuration, a node is said to have channeldegree k if for each pair of its incident links, the channels of thelinks have the following property: each channel in one link is attachedto k channels of the other link. A node has full channel conversion ifits channel degree is W. A node is said to have fixed channel conversionif its channel degree is one. Suppose at each link in the network, thechannels are numbered {, 0,1, . . . , W−1}. Then a node is said to haveno channel conversion if its channel degree is such that channels withthe same number are attached.

A network is configured so that end-to-end communication connectionsbetween pairs of nodes may be established in the network. An end-to-endcommunication connection is specified by a path in the network, and itis realized by a set of channels, one from each link along the path sothat channels that are incident to a common node are attached throughthe node. This realization allows a signal that is sent from one end ofthe path to be received at the other end by being transported along theattached channels. The path corresponding to an end-to-end communicationconnection will be referred to as a route, and a set of channels thatrealizes the end-to-end communication connection will be referred to asa channel assignment for the route.

Note that it is straightforward to realize a set of end-to-endcommunication connections in a network configured so that each node hasfull channel conversion. It is more cost effective to have nodesconfigured so that some or all nodes have channel degree less than W,i.e., allow only limited switching capability at the nodes. However, ingeneral, networks configured to have less than full channel conversionat each node may require more channels to realize the same end-to-endcommunication connections than if they were configured to have fullchannel conversion at each node.

A request is a set of routes and corresponds to a set of end-to-endcommunication connections. The load of a request is the value max_(eεE)λ_(e), where λ_(e) denotes the number of routes using link e and Edenotes the set of links in the network. For a network configuration, achannel assignment for a request is a collection of assignments forroutes, one per route of the request, such that each channel is assignedto at most one route of the request, i.e., no two routes will share achannel. Note that a channel assignment for a request realizes all ofthe end-to-end communication connections corresponding to the request.

Prior art focuses on networks with either no channel conversion ornetworks with full channel conversion. For the case where all nodes havefull channel conversion, (i.e., k=W), a sufficient (and necessary)condition for feasibility is W≧λ_(max), where λ_(max) is the load forthe request. For the case when all nodes have no channel conversion(hence at each node, k=1), [2] gives a method that performs a channelassignment using W≧2λ_(max) on a ring network and W≧3/2λ_(max) for astar network.

Prior art also proposes several heuristic channel assignment schemes fornetworks without channel conversion that may not be efficient in termsof using a small number of channels to perform the channel assignment.For example, see [3, 4, 5, 6, 7, 8]. For the case of limited channelconversion, [9, 10] propose some network configurations and someheuristic channel assignment schemes for these configurations that againmay not be efficient in terms of using a small number of channels toperform the channel assignment. Prior art does not propose configurationmethods and efficient channel assignment techniques for networks withlimited channel conversion.

SUMMARY OF THE INVENTION

The invention proposes configurations of ring and star networks withlimited channel conversion to efficiently support connections. Inaddition, algorithms are provided to efficiently assign channels toconnections.

More specifically, it is an object of this invention to provide a costeffective network by using nodes with limited switching capability.

It is also an object of this invention to efficiently assign channels tolinks of a network with nodes having limited switching capabilities soas to maximize network resources.

More generally, it is the overall object of this invention to configurea network and assign channels to the network in a cost effective manner.

The invention achieves the following results:

In a ring network with N nodes, the invention proposes a networkconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) that uses

-   -   λ_(max) channels with channel degree at most k=2 at each node        provided N≧2 log₂ λ_(max)−1 and W is a power of two.    -   λ_(max) channels with channel degree at most Δ+1 at each node,        where Δ>1, provided N≧log_(Δ)λ_(max).

In a star network, the invention proposes a configuration and for thisconfiguration, proposes a channel assignment method for any request withload λ_(max) that uses λ_(max) channels with fixed conversion.

In a network with an arbitrary topology the invention proposes aconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) where no connection is morethan 2 hops, that uses λ_(max) channels with fixed conversion.

Accordingly, this invention provides for a method of configuring nodesin a ring communications network wherein one of the nodes of ring isdesignated as a primary node, which is configured to have full channelconversion. That is, any two channels between its two incident links canbe connected to each other. The other nodes of the network areconfigured to have no channel conversion. That is, any channel c on oneof the incident links of a node is connected to the same channel c onthe other incident link of the node.

This invention also provides a method of assigning channels in a ringcommunications network which is configured as described in the previousparagraph. With the assignment scheme of the invention the paths usedfor end-to-end communication connections are divided into cut paths anduncut paths, where a cut path is a path that passes through the primarynode, while an uncut path does not pass through the primary node. Eachcut path p_(i) is divided into two paths a_(i) and b_(i) by splittingpath p_(i) at the primary node, where the primary node becomes an endnode for paths a_(i) and b_(i). The paths a_(i) and b_(i) are referredto as residual paths. Then, each link along each uncut path is assigneda single channel, and each link along a residual path is assigned thesame channel. Thus, a cut path can use two different channelscorresponding to its two residual paths.

This invention also comprises a network which is configured as above.

This invention also provides a method of configuring nodes of a ringcommunications network having multichannel multiplexed links. With thismethod, the N nodes of the ring are numbered consecutively starting atthe primary node and proceeding in one direction around the ring. Also,the link between nodes i and (i+1) mod N is given the number i. Then,each of the nodes is configured such that channel c on link i may beconnected to one of Δ+1 channels on link (i+1) mod N, where Δ is greaterthan or equal to 2 and where one of the channels on link (i+1) mod N ischannel (C+1) mod W, where the other Δ channels on link (i+1) mod N arechannels (C−k·Δ^(i)) mod W for k=0,1, . . . , Δ−1 and where W is thenumber of channels in each link. This invention also describes a methodof assigning the channels in a ring communications network configured asdescribed in the previous paragraph, and the details of this assignmentscheme is described in claim 9 and in the specification.

This invention also describes a method of configuring the nodes in anarbitrary network having N nodes and E links, where each link is amultichannel multiplexed link having W channels, and where W is an eveninteger. With this aspect of the invention, the channels are numberedfrom 0 to W−1, and at each node, for channels i=0,1, . . . , W/2−1,channel i on one link is connected to channel w(i) on all other linksincident to that node, where w(i)=i+W/2.

A final aspect of the invention is a method of assigning channels to thearbitrary network configured as in the previous paragraph. Thisassignment scheme is described in the specification and in claim 15.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of multiplexors in a ring network for thecase of full conversion at one node and no conversion at the othernodes.

FIG. 2 shows a simplified diagram of a 4-node ring network and a samplerequest.

FIG. 3 shows the graph H, representing a Benes permutation network forthe case of 4 wavelengths (W=4) along with a set of edge-disjoint pathsin H.

FIG. 4 shows a configuration of multiplexors in a ring networkcorresponding to a Benes network configuration.

FIG. 5 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 2 for theconfiguration of FIG. 4.

FIG. 6 shows a configuration of multiplexors in a ring network for thecase of channel degree 3.

FIG. 7 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 3 for theconfiguration of FIG. 6.

FIG. 8 shows a configuration of multiplexors in a star network withfixed channel conversion.

FIG. 9 (A) shows a simplified diagram of a star network with 4 end nodesand a sample request of routes. (B) shows how to direct the routes asdescribed in the embodiment of the invention. (C) shows the constructionof a bipartite graph and channel assignments for this request.

FIG. 10 shows the setting of the switches and the channel assignment forthe request of FIG. 9 for the configuration of FIG. 8.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Ring Network

FIG. 1 shows the block diagram of multiplexors 101 connected in a ringnetwork configuration. Each node 102 in the network consists of a pairof multiplexors. Two nodes are connected by a transmission link ormedium 103. The figure shows 4 channels on each link. For each channelthere is a line card 104 within each multiplexor 101. A line cardconsists of an I/O port 105, multiple local ports 106 and a line port107 and a switch (not shown in FIG. 1) that allows any pair of theseports to be connected together. For the case of a ring network, thenumber of local ports per line card is at least the channel degreedefined earlier. In FIG. 1 node 0 has channel degree 4 while other nodeshave channel degree 1. Node 0 is called the primary node. The line portsof all the line cards within a multiplexor are connected to a mux/demuxunit 108 which combines all the channels on to the transmission link.Within each node the line cards from one multiplexor are hard wired tothe line cards in the other multiplexor according to a specific wiringpattern 109 given later. This wiring pattern determines which channelsare attached to each other within the node. In node 0 for example, eachchannel is attached to all the channels. In the other nodes each channelis attached only to other channels with the same channel number.

In the subsequent discussion, we will provide feasibility results forthe following network configurations: (i) one node has full channelconversion and the other nodes have no channel conversion, (ii) allnodes have channel degree at most two, (iii) all nodes have channeldegree at most Δ+1, where Δ is an integer greater than one. In thediscussion, we will assume, without loss of generality, the following:

-   -   each link has its channels numbered {0,1, . . . , W−1}, where W        is the number of channels per link;    -   nodes are numbered 0,1, . . . , N−1 around the ring, where N        denotes the number of nodes; and    -   for each i=0,1, . . . , N−1, the link between node i and node        (i+1) mod N is numbered i.        Configuration with Full Channel Conversion at One Node and No        Channel Conversion at other Nodes

The ring network is configured so that one of its nodes has full channelconversion. This node is referred to as the primary node, and withoutloss of generality, let it be node 0. The other nodes have no channelconversion.

Suppose we are given a request {p₁, . . . , p_(m)}, where m is thenumber of routes in the request. Then the following is a channelassignment for the request. First, refer to routes that pass throughnode 0 as cut routes and the rest of the routes as uncut. A set P ofpaths is generated as follows. Include each uncut route in P. For eachcut route p_(i), cut (or split) it at node 0 into a pair of paths{a_(i), b_(i)} called residual paths such that each residual pathincludes node 0. Without loss of generality, let a_(i) correspond to theresidual path that traverses link N−1, and let b_(i) correspond to theresidual path that traverses link 0. Refer to a_(i) as the left residualpath, and b_(i) as the right residual path. (For example, if N=5 andp_(i) is a path with the sequence of nodes 4-5-0-1-2 then the residualpath a_(i) corresponds to 4-5-0 and b_(i) corresponds to 0-1-2). Includethe residual paths in P.

Next, partition the paths in P into W subsets (P₀, P₁, . . . , P_(W−1))such that paths in the same subset do not traverse common links of thering network. We will refer to the partition (P₀. P₁ . . . , P_(W−1)) asa cut-and-color partition for the request. One way to find acut-and-color partition is to assign channel numbers {0, . . . , W−1} tothe paths in P such that paths with a common link have distinct numbers.This is like coloring paths in an interval graph [11, Sec.16.5] becauseno path of P crosses through node 0. Hence, we can use a greedyalgorithm assignment that requires λ_(max) numbers [11, Sec.16.5]). [11]is hereby incorporated by reference. Then for i=0,1, . . . , W−1, allpaths that have been assigned to channel number i are in subset P_(i).

We will now describe the channel assignment for the request. For eachuncut route p_(i), channel number j is assigned to it where j satisfiesp_(i)εP_(j). For each link traversed by p_(i), the channel numbered j ofthat link is assigned to p_(i). For each cut route p_(i), two channelnumbers j_(a) and j_(b) are assigned to it, where the channel numberscorrespond to the left residual path a_(i) and right residual path b_(i)of p_(i). In particular, j_(a) satisfies a_(i)εP_(ja), and j_(b)satisfies b_(i)εP_(jb). For each link traversed by p_(i), a channel isassigned to p_(i) as follows. If the link is traversed by a_(i) then thechannel numbered j_(a) is assigned to p_(i). Otherwise, the link must betraversed by b_(i), and the channel numbered j_(b) is assigned to p_(i).

The desired channel assignment can be realized by setting the switchesin the configured network appropriately, as shown in the example below.

Example: Consider the 4-node network of FIG. 1 redrawn in FIG. 2 withW=4 channels and let the request bep₀=0-1-2p₁=1-2-3p₂=2-3-0-1p₃=2-3-0p₄=3-0-1-2andp₅=1-2-3be as shown in the figure. Node 0 is the primary node. Then acut-and-color partition for the request is the routes withP₀={p₀, a₂}P₁={b₂, p₁,a₄}P₂={b₄, p₃}andP₃={p₅}where a₂=2-3-0, b₂=0-1 and a₄=3-0, b₄=0-1-2. Here a_(i) and b_(i)correspond to the cut routes of p_(i). Thus the individual routes wouldbe assigned channels as shown below and in FIG. 2.

Links Route 0 1 2 3 p₀ 0 0 — — p₁ — 1 1 — p₂ 1 — 0 0 p₃ — — 2 2 p₄ 2 2 —1 p₅ — 3 3 —Configuration for Channel Degree 2

Suppose W is a power of two and N≧2 log₂ W−1. There is a configurationwith channel degree two at each node with the following property. Allrequests that have load at most W are feasible.

The configuration attaches pairs of channels to form a permutationnetwork. To be more specific, channels are attached according to a newgraph H, which has the following properties:

-   -   The set of vertices of H may be organized into s+1 stages,        numbered 0, 1, . . . , s, where s≦N+1, such that there are W        vertices {u₀, . . . , u_(W−1)} at stage 0 and there are W        vertices {v₀, . . . , v_(W−1)} at stage s. For the sake of        discussion, label the vertices at stage 0 {u₀, . . . , u_(W−1)}        and the vertices at stage s {v₀, . . . , v_(W−1)}. We will also        refer to those stages i=1, 2, . . . , s−1 (i.e., those that are        not stage 0 or stage s) as the intermediate stages.    -   The set of edges of H are between consecutive stages of vertices        such that there are exactly W edges between stages. To be more        specific, for i=0, 1, . . . , s−1, there are W edges between        stage i and stage i+1.    -   Each vertex in the stage 0 has exactly one incident edge. Each        vertex in stage s has exactly one incident edge.

The graph H has the following additional property. Let any function ƒ(·)on {0, . . . , W−1} be called a permutation if (ƒ(0), . . . , ƒ(W−1))are distinct values of {0, . . . , W−1}. For example, if ƒ(·) is afunction on {0, 1, 2, 3} and (ƒ(0), (1), ƒ(2), ƒ(3))=(1, 3, 0, 2) thenit would be a permutation on {0, 1, 2, 3}. Now H has the property thatfor any permutation π(·) on {0, . . . , W−1}, there is a collection(τ(·), h₀, h₁, . . . , h_(W−1)), where

-   -   τ(·) is a permutation on {0, . . . , W−1};    -   {h₀, h₁, . . . , h_(W−1)} is a collection of W paths in H;    -   for each i=0,1, . . . , W−1, path h_(i) starts at vertex        u_(τ(i)) in stage 0, traverses stages 1, 2, . . . , s−1 in        succession, and ends at vertex u_(τ(π(i))) in stage s; and    -   the paths {h₀, . . . , h_(W−1)} do not have common edges in H,        i.e., they are edge disjoint in H.        We will refer to the collection (τ(·), h₀, . . . , h_(W−1)) as        an interconnection instance for π(·).

The edges of H are assigned to the channels of the ring network asfollows. The W edges of H between the vertices in stages 0 and 1 areassigned to the channels of link 0 such that for i=0,1, . . . , W−1, theedge incident to u_(i) of stage 0 is assigned to the channel numbered i.The W edges of H between vertices in stages s−1 and s are assigned tothe channels of link (s−1) mod N such that for i=0,1, . . . , W−1, theedge incident to v_(i) of stage s is assigned to the channel numbered i.For i=1, . . . , s−2, the W edges of H between the vertices in stages iand (i+1) mod N are assigned to the W channels of link i mod N in thering network. (Note that it is possible for two different stages ofedges of H to be assigned to the channels of the same link, e.g., ifs=N+1 then the edges between stages 0 and 1 and the edges between stagess−1 and s will both be assigned to the channels in link 0.) We will usethe notation that if e is an edge in H then γ(e) is the channel it isassigned to.

The ring network is configured as follows. For i=1, 2, . . . , s−1,channels are attached through node i mod N of the ring network asfollows: if e and e′ are edges of H such that e is between the stagesi−1 and i of vertices, e′ is between stages i and i+1 of vertices, and eand e′ are incident to a common vertex in stage i then the channels γ(e)and γ(e′) are attached through node i. All other nodes of the ringnetwork are configured so that there is no channel conversion.

A particular topology for H that leads to a network configuration ofchannel degree two at every node is the Benes interconnection networktopology [12]. The Benes topology has s=2 log₂ W, so that it has 2 log₂W+1 stages of vertices, where the stage 0 vertices {u₀, . . . , u_(W−1)}are the inputs of the Benes topology and stage s vertices {v₀, . . . ,v_(W−1)} are the outputs. FIG. 3 shows the graph H for the case W=4.Here, there are 5 stages of vertices, where the stage 0 vertices are{u₀, u₁, u₂, u₃}, the stage 1 vertices are {x₀(1), x₁(1)}, the stage 2vertices are {x₀(2), x₁(2)}, the stage 3 vertices are {x₀(3), x₁(3)},and the stage 4 vertices are {v₀, v₁, v₂, v₃}. Also note that there areexactly W=4 edges between consecutive stages of vertices.

Notice that in a Benes topology H, vertices in an intermediate stage ihave exactly two incident edges to vertices in stage i+1, and exactlytwo incident edges to vertices in stage i−1. This implies that in theresulting configured ring network, each node has channel degree at mosttwo.

The Benes topology has the property that for any permutation π(·) on {0,. . . , W−1}, there is an interconnection instance (τ(·), h₀, . . . ,h_(W−1)) such that τ(·) satisfies (τ(0), τ(1), . . . , τ(W−1))=(0,1, . .. , W−1), i.e., τ(·) is the identity function. Thus, for i=0, . . . ,W−1, the path h_(i) starts at vertex u_(i) and ends at vertex v_(π(i)).The Benes topology is referred to as a permutation network since it hasthis property. FIG. 3 shows an example {h₀, h₁, h₂, h₃} for thepermutation π(·) that satisfies (π(0), π(1), π(2), π(3))=(1,2,3,0) forthe case when W=4. Here,h_(0=u) ₀-x₀(1)-x₁(2)-x₀(3)-v₁h_(1=u) ₁-x₀(1)-x₀(2)-x₁(3)-v₂h_(2=u) ₂-x₁(1)-x₁(2)-x₁(3)-v₃,andh_(3=u) ₃-x₁(1)-x₀(2)-x₁(3)-v₂.

As an example of a network configuration consider a 4-node ring networkwith W=4 channels per link. Let H be the Benes network graph in FIG. 3.The edges of H between the stage 0 and stage 1 vertices are assigned tothe channels of link 0. Similarly, the edges between stages 1 and 2 areassigned to the channels of link 1, the edges between stages 2 and 3 areassigned to the channels of link 2, and the edges between stages 3 and 4are assigned to the channels of link 3. In the figure, the channelnumbers for each edge are given. For example, edge x₀(1)-x₁(2) isassigned to a channel numbered 1 (in link 1), i.e., γ(x₀(1)-x₁(2)) isthe channel numbered 1 in link 1. Notice that vertices u₀, u₁, u₂, andu₃ are assigned to channels numbered 0,1, 2, and 3, respectively. Also,vertices v₀, v₁, v₂, and v₃ are assigned to channels numbered 0,1, 2,and 3, respectively. Now, if a pair of edges of H are incident to acommon vertex in stage i (i=1, . . . , s−1) and one edge is betweenstages i−1 and i and the other is between stages i and i+1 then theirassigned channels are attached through node i. For example, edgesx₀(1)-x₁(2) and x₁(2)-x₁(3) of H are incident to a common vertex x₁(2).Then their associated channels in the ring network (channel 1 of link 1and channel 3 of link 2) are attached through node 2. Note that node 0has no channel conversion. The corresponding wiring arrangement for thering network configuration is shown in FIG. 4. Nodes 1, 2 and 3 realizea Benes network graph and node 0 is wired so that there is no channelconversion.

Once the ring network has been configured (with respect to some H), thena channel assignment can be found for any request that satisfiesλ_(max)≦W. We will now describe a channel assignment for such a request{p₁, . . . , p_(m)}, where m is the number of routes in the request.

First, a cut-and-color partition (P₀, . . . , P_(W−1)) is found for therequest. Next, a permutation π(·) on {0,1, . . . , W−1} is found withthe following property: for each cut route p_(i) of the request,consider its left residual path a_(i) and right residual path b_(i), andif the a_(i) is in P_(j) and b_(i) is in P_(k) then π(j)=k. We willrefer to such a permutation as a permutation for the cut-and-colorpartition. (Note that there may be more than one permutation for apartition if the number of cut paths is less than W.)

One method to determine a permutation π(·) of the cut-and-colorpartition is as follows. Let Γ denote a set that equals {0, . . . ,W−1}. Now for each cut route p_(i), of the request do the following: (1)determine the left residual path a_(i) and right residual path b_(i) ofp_(i); (2) determine j_(a) and j_(b) such that a_(i)εP_(ja) andb_(i)εP_(jb); and then let π(j_(a))=j_(b) and remove the value j_(b)from the set Γ. For each i=0, . . . , W−1, such that the value of π(i)has yet to be determined, pick a value j from Γ, and then let π(i)=j andremove j from Γ. For example, suppose W=4 and the only cut routes of therequest are p₁ and p₂. Suppose the cut-and-color partition (P₀, . . . ,P₃) is such that a₁εP₂, b₁εP₃, a₂εP₃, and b₂εP₀. Then π(2)=3 and π(3)=0.This leaves the values of π(0) and π(1) yet to be determined. Theirvalues should not be from the set {0, 3}, which have already been used.Thus, we can let π(0)=2 and π(1)=1 which will leave π(·) a permutation.

Now for each i=0, . . . , W−1, a collection of channels of the ringnetwork is assigned to P_(i), one channel per link of the ring network.This is done as follows. For the graph H and permutation π(·) (of thecut-and-color partition), find the interconnection instance (τ(·), h₀,h₁. . . , h_(W−1)). For each i=0, . . . , W−1, let{e_(i)(0), e_(i)(1), . . . , e_(i)(j), . . . , e_(i)(s−2)}denote the edges of H traversed by path h_(τ(i)), where e_(i(j)) is theone between stages j and j+1. Let{g_(i)(0), g_(i)(1), . . . , g_(i)(j), . . . ,g_(i)(s−2)}be the collection of channels of the ring network, where g_(i)(j) is thechannel assigned to edge e_(i)(j). i.e., g_(i)(j)=γ(e_(i)(j)). Inaddition, if s≦N then let{g_(i)(s−1), g_(i)(s), g_(i)(s+1), . . . , g_(i)(j), . . . , g_(i)(N−1)}be the collection of channels of the ring network, where g_(i)(j) is thechannel numbered τ(π(i)) of link j. The collection{g_(i)(0), g_(i)(1), . . . , g_(i)(N−1)}are the channels assigned to P_(i).

The channel assignment for the request can now be determined. For eachuncut route p_(i), assign channels to it as follows. Find k such thatp_(i)εP_(k). For each link j of the ring network traversed by p_(i),assign channel g_(i)(j) to route p_(i).

For each cut route p_(i), assign channels to it as follows. Let a_(i)and b_(i) be the residual paths of p_(i). Find k_(a) and k_(b) such thata_(i)εP_(k) _(a) and b_(i)εP_(k) _(b) . For each link j traversed bya_(i), assign channel g_(k) _(a) (j) to route p_(i). For each link jtraversed by b_(i), assign channel g_(k) _(b) (j) to route p_(i).

Example: As an example consider a 4-node ring network with W=4 channelsper link and configured according to the H in FIG. 3. The correspondingwiring arrangement for the ring network configuration is shown in FIG.4. Nodes 1, 2 and 3 realize a Benes interconnection network and node 0is wired so that there is no conversion.

Consider the same request as in FIG. 2. The cut-and-color partition isthe same as before. A permutation π(·) for the partition is(π(0), π(1), π(2), π(3))=(1, 2, 3, 0).(Notice, since there are only two cut routes in the request {p₀, . . . ,p₅}, that there are other permutations for the partition, e.g., (π′(0),π′(1), π′(2), π′(3))=(1, 2, 0, 3).)

An interconnection instance (τ(·), h₀, h₁, h₂, h₃) for π(·) is whereτ(−) is the identity function (i.e., (τ(0), τ(1), τ(2), τ(3))=(0,1, 2,3)) andh₀=u₀ -x₀(1)-x₁(2)-x₀(3)-v₁,h₁=u₁ -x₀(1)-x₀(2)-x₁(3)-v₂,h₂=u₂ -x₁(1)-x₁(2)-x₁(3)-v₃,andh₃=u₃ -x₁(1)-x₀(2)-x₀(3)-v₀,as shown in FIG. 3. Equivalently, the paths traverse the following edgesof H:h₀: u₀−x₀(1), x₀(1)−x₁(2), x₁(2)−x₀(3), x₀(3)−v₁,h₁: u₁−x₀(1), x₀(1)−x₀(2), x₀(2)−x₁(3), x₁(3)−v₂,h₂: u₂−x₁(1), x₁(1)−x₁(2), x₁(2)−x₁(3), x₁(3)−v₃,h₃: u₃−x₁(1), x₁(1)−x₀(2), x₀(2)−x₀(3), x₀(3)−v₀.Using the assignment of edges to channels, as shown in FIG. 3, we canget an assignment of channels to each P_(i) (i=0,1, 2, 3). For example,for P₀, we consider the edges traversed by h₀. The edge u₀−x₀(1) isassigned to channel 0 in link 0, the edge x₀(1)−x₁(2) is assigned tochannel 1 in link 1, the edge x₁(2)−x₀(3) is assigned to channel 1 inlink 2, and the edge x₀(3)−v₁ is assigned to channel 1 in link 3. Thefollowing are the channel assignments to each P_(i) (i=0,1,2,3).

Channels Set Link 0 Link 1 Link 2 Link 3 P₀ 0 1 1 1 P₁ 1 0 2 2 P₂ 2 3 33 P₃ 3 2 0 0

Based on this, the individual routes are assigned channels. For example,consider an uncut route p₃=2-3-0. Notice that p₃εP₂, and so p₃ useschannels assigned to P₂. Since p₃ traverses links 2 and 3, its channelsare (according to the table above) channel 3 in link 2 and channel 3 inlink 3. As another example, consider the cut route p₂=2-3-0-1. Noticethat p₂ has the residual paths a₂=2-3-0 and b₂=0-1. Notice that a₂εP₀,and so p₂ uses some of the channels assigned to P₀. In particular, sincea₂ traverses links 2 and 3, the channels are (according to the tableabove) channel 1 in link 2 and channel 1 in link 3. Notice that b₂εP₁,and so p₂ uses a channel assigned to P₁. In particular, since b₂traverses link 0, the channel.is (according to the table above) channel1 in link 0.

The channel assignment for the request {p₀, . . . , p₅} is shown in thetable below.

Links Route 0 1 2 3 p₀ 0 1 — — p₁ — 0 2 — p₂ 1 — 1 1 p₃ — — 3 3 p₄ 2 3 —2 p₅ — 2 0 —

The switching arrangement in the line cards to do this is shown in FIG.5. Like the line cards shown in FIG. 1. the line cards shown in FIG. 5each include an I/O port 105. multiple local ports 106, a line port 107,and a switch 504 that allows any pair of these ports to be connectedtogether.

Configuration for Channel Degree Δ+1, where Δ>1

Consider a ring network with N≧log_(Δ) W nodes. There is a configurationthat has channel degree at most Δ+1 at each node with the followingproperty. All requests that have load at most W are feasible.

Consider the following network configuration. For each link i=0,1, . . ., N−1, its channel jε{0,1, . . . , W−1} is attached to the followingchannels on link (i+1) mod N: channel (j+1) mod W and channels {(j−k·Δ′)mod W: k=0,1, . . . , Δ−1}. Note that in this configuration, each nodehas channel degree at most Δ+1.

As an example consider the case of a 4-node ring network with W=4channels per link, and Δ=2. Then for each link iε{0, 1, 2, 3}, itschannel jε{0, 1, 2, 3} is attached to channels (j+1) mod 4, j, and(j−2^(i)) mod 4 on link (i+1) mod 4. For example, channel 1 on link 0 isattached to channels 2, 1, and 0 on link 1. As another example, notethat channel 2 on link 3 is attached to channels 3 and 2 on link 0. Thewiring arrangement is shown in FIG. 6.

Now consider an arbitrary request {p₁, . . . , p_(m)} with load at mostW. We will now describe how to find a channel assignment for it. We canfind a cut-and-color partition (P₀, . . . , P_(w−1)) and a permutationπ(·) for the partition as before. We will use the following definition.We call two numbers i and j in {0,1, . . . , W} to be π-related if thereis a value k and a sequence (r₀, r₁, . . . , r_(k)) of numbers from {0,. . . , W−1} such that r₀=i, r_(k)=j, and for i=0,1, . . . , k−1,π(r_(i))=r_(i+1). For example, suppose W=8 and(π(0), π(1), π(2), π(3), π(4), π(5), π(6), π(7))=(1, 3, 7, 5, 4, 0, 2,6).Note that π(0)=1, π(1)=3, π(3)=5, and π(5)=0. Thus, the numbers{0,1,3,5} are π-related. Similarly, the numbers within the followingsubsets are π-related: {2, 7, 6} and {4}.

Partition the set {0, . . . , W−1} into nonempty subsets {C₀, . . . ,C_(M−1)}, where M is the number of subsets, such that numbers within asubset are π-related, while numbers from different subsets are not.Continuing with our example, the subsets could be C₀={0, 1, 3, 5},C₁={2, 7, 6}, and C₂={4}. For each i=0, . . . , M−1, let s_(i) denotethe size of C_(i). Then for the example, s₀=4, s₁=3, and s₂=1.

Define any subset of {0, . . . , W−1} as a contiguous subset if it canbe written as{(i+j) mod W: j=0, . . . , k}for some i and k in {0, . . . , W−1}. Partition {0, . . . , W−1} into Wcontiguous subsets (T₀, . . . , T_(M−1)) such that T_(i) has size s_(i).This can be done by finding a collection of numbers {t₀, . . . ,t_(M−1)} from {0, . . . , W−1} such that for i=0, . . . , M−1,t _((i+1) mod M)=(t _(i) +s _(i)) mod WThen for i=0, . . . , M−1,T _(i)={(t _(i) +j) mod W: j=0, . . . , s _(i)−1}.To continue with our example, we could have t₀=0, t₁=4, t₂=7, T₀={0,1,2, 3}, T₁={4,5,6}, and T₂={7}.

For i=0, . . . , M−1, find a function q_(i)(·) that is defined on theset {0, . . . , s_(i)−1} such that

-   -   1. there is an element jεC_(i) such that q_(i)(j)=0 and    -   2. for each element jεC_(i), q_(i)(π(j))=(q_(i)(j)+1) mod s_(i).        To continue with our example, let us determine what q₀(·) should        be. Recall that C₀={0,1,3,5}, and that π(0)=1, π(1)=3, π(3)=5,        and π(5)=0. Then we could have (q₀(0), q₀(1), q₀(3), q₀(5))=(0,        1, 2, 3). Similarly, we could have (q₁(2), q₁(7), q₁(6))=(0,1,        2), and (q₂(4))=(0).

For k=0, . . . , M−1, let (d_(N−1)(k), d_(N−2)(k), . . . , d₀(k)) denotethe base Δ, N digit representation of the value s_(k)−1. Now, for i=0, .. . ,N−1, let

${D_{i}(k)} = \left\{ \begin{matrix}{0,} & {{{if}\mspace{14mu} i} = 0} \\{{\sum\limits_{n = 0}^{i - 1}{{d_{n}(k)} \cdot \Delta^{n}}},} & {{{if}\mspace{14mu} i} > 0}\end{matrix} \right.$For example, if N=4, s_(k)−1=15, and Δ=2 then(d₃(k), d₂(k), d₁(k), d₀(k))=the binary number (1,1,1,1),and(D₃(k), D₂(k), D₁(k), D₀(k))=(7, 3,1, 0).As another example, if N=3, s_(k)−1=15, and Δ=3 then(d₂(k), d₁(k), d₀(k))=the ternary number (1,2,0),and(D₂(k), D₁(k), D₀(k))=(6, 0, 0).

For each subset P_(i)(i=0, . . . , W−1) from the cut-and-colorpartition, we assign it channels as follows. The channels assigned toP_(i) will be denoted by σ(i, 0), σ(i, 1), . . . , σ(i, j), . . . , σ(i,N−1) where σ(i, j) is the channel on link j. Let k be such thatP_(i)εC_(k). For j=0, . . . , N−1, let ρ(i, j) be the following value

${\rho\left( {i,j} \right)} = \left\{ \begin{matrix}{{s_{k} - 1 - {D_{j}(k)}},} & {{{if}\mspace{14mu}{q_{k}(i)}} = {s_{k} - 1}} \\{{q_{k}(i)},} & {{{if}\mspace{14mu}{q_{k}(i)}} < {s_{k} - {1\mspace{14mu}{and}\mspace{14mu}{q_{k}(i)}}} < {s_{k} - 1 - {D_{j}(k)}}} \\{{{q_{k}(i)} + 1},} & {{{if}\mspace{14mu}{q_{k}(i)}} < {s_{k} - {1\mspace{14mu}{and}\mspace{14mu}{q_{k}(i)}}} \geq {s_{k} - 1 - {D_{j}(k)}}}\end{matrix} \right.$For j=0, . . . , N−1, let σ(i, j)=(t_(k)+ρ(i, j)) mod W. For example,suppose N=4, Δ=2, W=32, and C_(k)={4, 5, . . . , 11}. Here, note thats_(k)=8,(d₃(k), d₂(k), d₁(k), d₀(k))=(0,1, 1, 1),and(D₃(k), D₂(k), D₁(k), D₀(k))=(7, 3,1, 0).Suppose that(π(4), π(5), . . . , π(11)=(5,6, . . . , 11,4)and(q_(k)(4),q_(k)(5), . . . ,q_(k)(11))=(0, 1, . . . ,6, 7).In addition, to simplify the example, suppose that t_(k)=0, so thatσ(i,j)=ρ(i,j) for all iεC_(k). Then we have the following channelassignment for the subsets in C_(k):

Sets Link P₄ P₅ P₆ P₇ P₈ P₉ P₁₀ P₁₁ 0 0 1 2 3 4 5 6 7 1 0 1 2 3 4 5 7 62 0 1 2 3 5 6 7 4 3 1 2 3 4 5 6 7 0The values of σ(l,j), where lεC_(k), can be read from the table. Forexample, the channels assigned to P₈ are channel σ(8, 0)=4 in link 0,channel σ(8, 1)=4 in link 1, channel σ(8,2)=5 in link 2, and channelσ(8, 3)=5 in link 3. To see what the table looks like when t_(k) is notzero, suppose the t_(k) were changed to 10. Then the following channelassignment for the subsets in C_(k) would result.

Sets Link P₄ P₅ P₆ P₇ P₈ P₉ P₁₀ P₁₁ 0 10 11 12 13 14 15 16 17 1 10 11 1213 14 15 17 16 2 10 11 12 13 15 16 17 14 3 11 12 13 14 15 16 17 10

Channels can be assigned to each route p_(k) of the request as follows.Suppose p_(k) is an uncut route. Let i be such that p_(k)εP_(i). Foreach link j that is traversed by p_(k), the channel σ(i, j) of the linkis assigned to p_(k). Suppose p_(k) is a cut route. Let a_(k) and b_(k)be its residual paths. Let i_(a) and i_(b) be such that a_(k)εP_(i) andb_(k)εP_(i) _(b) . For each link j that is traversed by a_(k), thechannel σ(i_(a), j) of the link is assigned to p_(k). For each link jthat is traversed by b_(k), the channel σ(i_(b),j) of the link isassigned to p_(k).

Example: Consider a 4-node ring network that has W=4 channels per link,and where it is configured according to Δ=2. Hence, the wiringarrangement in the line cards is shown in FIG. 6.

Suppose the requests are shown in FIG. 2. The cut-and-color partitionand the permutation π(·) for the partition is the same as before. Thus,(π(0), π(1), π(2), π(3))=(1, 2, 3, 0). Then we have C₀={0, 1, 2, 3},s₀=4,(d₃(0), d₂(0), d₁(0), d₀(0))=(0, 0,1,1),(D₃(0), D₂(0), D₁(0), D₀(0))=(3, 3,1, 0),and(q₀(0), q₀(1), q₀(2), q₀(3))=(0, 1, 2, 3)

Thus the sets P₀, P₁, P₂, P₃ are assigned channels on the links asfollows:

Links Set 0 1 2 3 P₀ 0 0 1 1 P₁ 1 1 2 2 P₂ 2 3 3 3 P₃ 3 2 0 0Based on this, the individual routes are assigned channels as givenbelow:

Links Route 0 1 2 3 p₀ 0 0 — — p₁ — 1 2 — p₂ 1 — 1 1 p₃ — — 3 3 p₄ 2 3 —2 p₅ — 2 0 —The switch settings corresponding to this assignment are shown in FIG.7.Star Network

FIG. 8 shows the block diagram of multiplexors 101 connected in a starnetwork configuration. The network consists of a hub node 102H and spokenodes 102E. The spoke nodes are connected to the hub node by atransmission link or medium 103. Each spoke node 102E in the networkconsists of a multiplexor. The hub node consists of a multiplexor foreach link (or each spoke node) in the network. The multiplexors in thehub node are wired together according to a specified pattern. The figureshows 4 channels on each link. For each channel there is a line card 104within each multiplexor. A line card consists of an I/O port 105,multiple local ports 106 and a line port 107 and a switch (not shown inthe figure) that allows any pairs of these ports to be connectedtogether.

Our results use the following network configuration of channels when W,the number of channels per link, is even. Each link has its channeli=0,1, . . . , W/2−1 connected to channel w(i) (through the hub node) onall the other links, where w(i)=i+W/2. We will denote the hub node by h,and the spoke nodes by x₁, . . . , x_(N−1). For i=1, . . . , N−1, lete_(i) denote the link between nodes h and x_(i).

Once the network is configured, a channel assignment may be found forany request that has load at most W and each route of the requesttraverses at most two links. The following is the procedure to find achannel assignment. Let {p₁, . . . , P_(M)} denote the routes of therequest. Let {p₁, . . . , P_(m)} denote the routes that traverse exactlytwo links. Hence, the routes {P_(m+1), . . . , p_(M)} denote the onesthat traverse exactly one link.

We will refer to a path as being incident to its end nodes. For example,a path that traverses a sequence of nodes (x_(i), h, x_(j)) (hence, ittraverses exactly two links), is considered to be incident to its endnodes x_(i) and x_(j) (here, h is an intermediate node). As anotherexample, a path that traverses the sequence of nodes (x_(i), h) (hence,it traverses exactly one link), is considered to be incident to its endnodes x_(i) and h.

A path may be directed, which means that it is viewed as going from oneof its end nodes to its other end node. For example, if a path traversestwo links and has end nodes x_(i) and x_(j) then it may be directed fromx_(i) to h and then to x_(j), or it may be directed from x_(j) to h andthen to x_(i). If a path traverses one link and has end nodes x_(i) andh then it may be directed from x_(i) to h, or it may be directed from hto x_(i). As part of the channel assignment procedure, the routes {p₁, .. . , p_(m)} will be directed so that at each spoke node there are atmost W/2 incident routes of {p₁, . . . , p_(m)} that are directed intothe node, and at most W/2 incident routes of {p₁, . . . , p_(m)} thatare directed out of the node. The procedure to direct these routes is asfollows.

If the number of routes of {p₁, . . . , p_(M)} that traverse each linkis exactly W then let R=M. Otherwise, find additional paths {p_(M+1), .. . , p_(R)} such the number of routes of {p₁, . . . , p_(R)} thattraverse each link is exactly W. The additional paths {p_(M+1), . . . ,p_(R)} are referred to as dummy paths. Note that the dummy paths can befound as follows. For i=1, . . . , N−1, let there be W−n_(i) dummypaths, each traversing only link e_(i), where n_(i) is the number ofroutes (that are not dummy paths) traversing link e_(i).

The paths of {p₁, . . . , p_(R)} are directed as follows. Consider eachpath of {p₁, . . . , p_(R)} as being initially undirected. Refer to anode that has at least one undirected incident path as a free node. Aslong as there is a free node, do the following:

-   -   1. Start from a free node, say x_(i), and traverse an undirected        incident path (from the set {p₁, . . . , p_(R)}) to the other        end node, and direct the path in the direction of the traversal.    -   2. From the other end node, traverse an undirected incident path        (from the set {p₁, . . . , p_(R)}) to the next end node, and        direct the path in the direction of the traversal.    -   3. Keep traversing undirected paths (and directing the traversed        paths) in this way until node x_(i) is reached.

Now construct a bipartite graph G which has two sets of vertices: {u₁, .. . , u_(N−1)} and {v₁, . . . , v_(N-1)}. It has edges b₁, . . . ,b_(m), where b_(i) is between u_(j) and v_(k) if path p_(i) traverseslinks e_(j) and e_(k) in the star network and p_(i) is directed so thatit goes from node x_(j) to h and then to x_(k). Note that in G, eachvertex has at most W/2 incident edges because each spoke node of thestar network has at most W/2 incoming incident paths and at most W/2outgoing incident paths. Next, assign numbers {0, . . . , W/2−1} to theedges of G such that distinct numbers are assigned to edges incident toa common node, and denote the number assigned to link b_(i) (for i=1, .. . , m) by q(b_(i)). This can be accomplished using the schedulingalgorithms used for Satellite Switched/Time Division Multiple Access(SS/TDMA) systems [13], incorporated herein by reference. Using theassignment of numbers, we can get a channel assignment for the routes{p₁, . . . , p_(m)} as follows. For i=1, . . . , m, suppose p_(i)traverses links e_(j) and e_(k) such that the direction of p_(i) goesfrom x_(j) to h and then to x_(k). Then channel q(b_(i)) on link e_(j)is assigned to p_(i), and the channel w(q(b_(i))) on link e_(k) is alsoassigned to p_(i).

Note that up to this point, channels have been assigned to the routes{p₁, . . . , p_(m)} Now channels will be assigned to the routes{p_(m+1), . . . , p_(M)} (i.e., the routes that traverse exactly onelink). This can be done by selecting each route and assigning it achannel on the link that it traverses that has yet to be assigned to aroute.

Example: Consider the five node star network of FIG. 8, redrawn in FIG.9(A). The network has a hub node h, and four spoke nodes {x₁, x₂, x₃,x₄}. Note that for i=1,2,3,4, spoke node x_(i) and hub node h have linke_(i) between them. Note that each link has W=4 channels numbered0,1,2,3. These channel numbers are partitioned into two groups: {0, 1}and {2, 3}. Note that w(0)=2 and w(1)=3. The hub node is configured sothat for i=0, 1, a channel i at each link is connected to channel w(i)at all the other links.

Now suppose there is a request {p₁, p₂, . . . , p₆} of six routes asshown in FIG. 9(A). These routes are as follows:p₁=x₁-h-x₂p₂=x₂-h-x₃p₃=x₃-h-x₁p₄=x₁-h-x₄p₅=x₃-h-x₄andp₆=x₃-h-x₁.Note that there are W=4 routes of the request traversing links e₁ ande₃, but there are only two routes of the request traversing links e₂ ande₄. Dummy paths p₇, p₈, p₉, and p₁₀ are found for the links e₂ and e₄ asshown in FIG. 9(A). Note that the paths p₇ and p₈ only traverse link e₂,and paths p₉ and p₁₀ only traverse link e₄. Now each link has exactlyW=4 paths traversing it.

Paths p₁, . . . , p₁₀ are intially considered undirected. Then they aredirected as follows. First a node is chosen that has an undirected pathincident to it (i.e., a free node is chosen). Node x₁ is such a nodesince it has undirected paths P₁, p₃, p₄, p₆ incident to it. One of theundirected incident paths is chosen to be traversed, say path P₁. Aftertraversing it to node x₂, it is directed from end node x₁ to end nodex₂. From node x₂, an undirected incident path is chosen to be traverse.Such paths are p₂, p₇, p₈. Suppose path p₂ is chosen. After traversingit to node x₃, it is directed from end node x₂ to end node x₃. From nodex₃, an undirected incident path is chosen to be traversed. Such pathsare p₃, p₅, p₆. Suppose path p₃ is chosen. After traversing it to nodex₁, it is directed from end node x₃ to end node x₁. Note that the pathsp₁, p₂, p₃ are directed as shown in FIG. 9(B). Since we returned to nodex₁, we start the procedure of directing paths all over again. FIG. 9(B)shows the direction of paths p₄, p₅, p₆ which results by starting fromnode x₄ and traversing paths p₅, p₆, and then p₄. FIG. 9(B) also showsthe direction of paths p₇, p₈, p₉, p₁₀ which results by starting fromnode x₂ and traversing paths p₇, p₉, p₁₀, and then p₈. Note that we havethe following directions for the paths:p₁=x₁→h→x₂p₂=x₂→h→x₃p₃=x₃→h→x₁p₄=x₁→h→x₄p₅=x₄→h→x₃p₆=x₃→h→x₁p₇=x₂→hp₈=h→x₂p₉=h→x₄andp₁₀=x₄→h.

We now construct a bipartite graph G, as shown in FIG. 9(C), with twosets of vertices {u₁, u₂, u₃, u₄} and {v₁, v₂, v₃, v₄}. There are sixedges between the nodes denoted by {b₁, b₂, . . . , b₆}. For i=1, . . ., 6, the edge b_(i) corresponds to the route p_(i) in the request. Ifp_(i) has end nodes x_(j) and x_(k) and is directed from x_(j) to x_(k)then edge b_(i) is between vertices u_(j) and v_(k). Thus, the edges ofG areb₁=u₁-v₂b₂=u₂-v₃b₃=u₃-v₁b₄=u₁-v₄b₅=u₄-v₃andb₆=u₃-v₁.

Numbers from the set {0, 1} (i.e., {0, . . . , W/2−1}) are assigned tothe edges of G so that at each vertex of G, its incident edges havedistinct numbers. The number assigned to edge b_(i) will be denoted byq(b_(i)). A number assignment is shown in FIG. 9(C). Here, q(b₁)=0,q(b₂)=1, q(b₃)=0, q(b₄)=1, q(b₅)=0, and q(b₆)=1. Note that the SS/TDMAscheduling algorithm can be used to determine q(b_(i)) for each edgeb_(i) of G.

The channel assignment to the routes are as follows. Note that p₁corresponds to b₁, which has end vertices u₁ and v₂. Note that u₁corresponds to link e₁, and v₂ corresponds to link e₂. The channelsassigned to p₁ are channel q(b₁)=0 on link e₁ and channel w(q(b₁))=2 onlink e₂. The channel assignment for all the routes of the request aregiven below:p₁: channel 0 on link e₁, and channel 2 on link e₂,p₂: channel 1 on link e₂, and channel 3 on link e₃,p₃: channel 0 on link e₃, and channel 2 on link e₁,p₄: channel 1 on link e₁, and channel 3 on link e₄,p₅: channel 0 on link e₄, and channel 2 on link e₃,andp₆: channel 1 on link e₃, and channel 3 on link e₁.

The corresponding setting of the switches and channel assignment in thenetwork are shown in FIG. 10 for routes p_(i), p₂ and p₃ as anillustration.

Arbitrary Topology Networks

Consider an arbitrary topology network such that each link has Wchannels, where W is even. Then the following method gives a fixedconversion configuration of the network and a channel assignment thatassigns channels for any set of connections with routes that havecongestion at most W and have at most two hops.

The channel assignment is done by converting the given network into astar network as follows. Each link i′ in the star network corresponds toa link i in the original network. A connection that is to be routed onlinks i and j in the original network is now to be routed on links i′and j′ in the star network. The congestion in the star network is atmost W and hence these connections can be routed using the results ofthe star configuration.

1. A method of configuring a node comprising: adapting the node toconnect to a ring network, the ring network including a plurality ofnodes and a plurality of links; configuring the node for full channelconversion, full channel conversion being an ability to connect each ofa plurality of channels on a first link to each of a plurality ofchannels on a second link; and adapting the node to connect through thefirst link to another node on the ring network that is configured for nochannel conversion, no channel conversion being an ability to connecteach of the plurality of channels on the first link to correspondingchannels on a third link.
 2. The method of claim 1, further comprisingadapting the node to accommodate a channel assignment that uses a pathpassing through the node.
 3. The method of claim 1, further comprisingadapting the node to demultiplex any channels input to the node andmultiplex any channels output of the node.
 4. The method of claim 1,further comprising adapting the node to connect to a first and a secondlink on the ring network, the links each having a plurality of channels.5. The method of claim 4, wherein the links are optical fiber links. 6.A node configuration comprising: a node adapted to be connected to aring network including a plurality of nodes and a plurality of links,the node being configured for full channel conversion, full channelconversion being an ability to connect each of a plurality of channelson a first link to each of a plurality of channels on a second link, andadapted to be connected through the first link to another node on thering network that is configured for no channel conversion, no channelconversion being an ability to connect each of the plurality of channelson the first link to corresponding channels on a third link.
 7. The nodeconfiguration of claim 6, wherein the node is adapted to accommodate achannel assignment that uses a path passing through the node.
 8. Thenode configuration of claim 6, further comprising adapting the node todemultiplex any channels input to the node and multiplex any channelsoutput of the node.
 9. The node configuration of claim 6, wherein thenode is adapted to connect to a first and a second link, the links eachhaving a plurality of channels.
 10. The node configuration of claim 9,wherein the links are optical fiber links.
 11. A method of configuring anode comprising: adapting the node to connect to a first and a secondlink on a ring network, the links each having more than two channels,the node including a switch; and configuring the node so that each ofthe more than two channels on the first link can be switched to no morethan two of the more than two channels on the second link.
 12. Themethod of claim 11, further comprising adapting the node to accommodatea channel assignment that uses a path passing through the node.
 13. Themethod of claim 11, wherein the first and second links are optical fiberlinks.
 14. The method of claim 11, further comprising adapting the nodeto demultiplex any channels input to the node and multiplex any channelsoutput of the node.
 15. The method of claim 11, wherein the more thantwo channels is a power of
 2. 16. The method of claim 11, wherein thering network has total nodes greater than or equal to 2 log₂ of the morethan two channels minus one.
 17. A node comprising: an input port towhich a first link on a ring network can be connected, the first linkhaving more than two channels; an output port to which a second link onthe ring network can be connected, the second link having more than twochannels; and a switch configured to couple each of the more than twochannels on the first link to no more than two of the more than twochannels on the second link.
 18. The node of claim 17, wherein the nodeis adapted to accommodate a channel assignment that uses a path passingthrough the node.
 19. The node of claim 17, wherein the first and secondlinks are optical fiber links.
 20. The node of claim 17, furthercomprising adapting the node to demultiplex any channels input to thenode and multiplex any channels output of the node.
 21. The node ofclaim 17, wherein the more than two channels is a power of
 2. 22. Thenode of claim 17, wherein the ring network has total nodes greater thanor equal to 2 log₂ of the more than two channels minus one.